<?php

declare(strict_types=1);

namespace app\common\lib;

/**
 * 严格模式下针对string字符串操作的基础类库
 * Class Str
 * @package app\common\lib
 */
class Str
{

    /**
     * 获取用户密码
     * @param string $password
     * @return string
     */
    public static function getUserPassword(string $password): string
    {
        return md5($password . '_df');
    }

    /**
     * 生成登录所需的token
     * @param $string
     * @return string
     */
    public static function getLoginToken($string)
    {
        //生成token
        $str = md5(uniqid(md5(microtime(false)), false));//生成一个不会重复的字符串
        return sha1($str . $string);
    }

    /**
     * 验证身份证号是否合法
     * @param $string
     * @return bool
     */
    public static function checkIdCard($string){
        if (strlen($string) != 18){ return false; }
        $idcard_base = substr($string, 0, 17);
        if (idcard_verify_number($idcard_base) != strtoupper(substr($string, 17, 1))){
            return false;
        }
        return true;
    }
}